package com.llt.system.service.exam;

import com.llt.common.core.domain.R;
import com.llt.common.core.domain.TableDataInfo;
import com.llt.system.domain.exam.dto.ExamAddDTO;
import com.llt.system.domain.exam.dto.ExamEditDTO;
import com.llt.system.domain.exam.dto.ExamQueryDTO;
import com.llt.system.domain.exam.dto.ExamQuestionAddDTO;
import com.llt.system.domain.exam.po.Exam;
import com.baomidou.mybatisplus.extension.service.IService;
import com.llt.system.domain.exam.vo.ExamDetailVO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author llt
 * @since 2024-10-08
 */
public interface IExamService extends IService<Exam> {

    TableDataInfo list(ExamQueryDTO dto);

    R<String> examAdd(ExamAddDTO dto);

    R<Void> questionAdd(ExamQuestionAddDTO dto);

    R<ExamDetailVO> detail(Long examId);

    R<Void> deleteExam(Long examId);

    R<Integer> edit(ExamEditDTO dto);

    R<Integer> questionDelete(Long examId, Long questionId);

    R<Void> publish(Long examId);

    R<Void> cancelPublish(Long examId);
}
